home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / DEMOS / DN118.ZIP / DEMONEWS.118 next >
Encoding:
Text File  |  1996-03-17  |  44.1 KB  |  969 lines

  1. Start.of.DemoNews.118..............................................Size:45,139
  2.  
  3.  ______/\___________________________       __  ________________ ___  /\_______
  4.  \____   \  ________ _   _ ______   \     /  \|  \  ________   |   \/  ______/
  5.  /   |    \  _)   \   \_/   \   |    \   /    \   \  _)   \    |    \______  \
  6. /    |     \       \   |     \  |     \ /          \       \  /~\    \    /   \
  7. \_____     /_______/___|     /________/ \____\_____/_______/_________/________/
  8.     \_____/            |____/
  9.                                                       | Subscribers  :  2014
  10.          DemoNews Issue #118 - March 5, 1996          |   Last Week  :  1950
  11.                     -------------                     |   Change     :   +64
  12.      DemoNews is a newsletter for the demo scene.     | Archive Size : 2169M
  13.  It is produced by Hornet at the site ftp.cdrom.com.  |   Last Week  : 2108M
  14.     Our demo archive is located under /pub/demos.     |   Remaining  :  795M
  15.                                                       |
  16. =-[Contents]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  17.  
  18.    Line    Section
  19.  ------    -------------------------------------------------------------------
  20.      33    Calendar
  21.      55    Top Downloads
  22.      78    Uploads
  23.     214    Articles
  24.     216      Introduction................................Snowman
  25.     249      Quotes Heard in the Demoscene...............Trixter
  26.     362      10 Ways NAID '95 Will Differ from NAID '96..GD
  27.     527      Funktracker Port to Linux...................JsNO
  28.     550      Intro to 3D Graphics - Volume 03............Kiwidog
  29.     945    Subscribing
  30.     960    Closing
  31.  
  32.  
  33. =-[Calendar]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  34.  
  35.  Date      Event               Location  Concact Points
  36.  --------- ------------------- --------- -------------------------------------
  37.  29 Mar 96 Mekka               Germany   PV80090@PH80090.HH.eunet.de
  38.            http://www.xs4all.nl/~blahh/RAW/Parties/Invitations/Mekka.html
  39.  
  40.  02 Apr 96 The Gathering       Norway    mikaels@powertech.no
  41.            http://www.ifi.uio.no/~uwek/Crusaders/TG
  42.  
  43.  05 Apr 96 Symposium           Germany   gandalf@blackbox.shnet.org
  44.            http://134.28.37.10/~frank/bbx-sym96/bbx96.html
  45.  
  46.  06 Apr 96 X                   Netherlnd cba@xs4all.nl
  47.            http://www.xs4all.nl/~herkel
  48.  
  49.  31 May 96 Naid                Canada    naid@autoroute.net
  50.            http://www.autoroute.net/~naid
  51.  
  52.  More information is at http://hagar.arts.kuleuven.ac.be/~sdog/party.html
  53.  
  54.  
  55. =-[Top Downloads]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  56.  
  57.  NOTE: Statistics are sometimes slightly off due to symbolic links, mirrors,
  58.  renamed files, and other things that affect the log files.
  59.  
  60.  Pc Times FileName.Ext      Pc Times FileName.Ext       Pc Times FileName.Ext
  61.  -- ----- --------.---      -- ----- --------.---       -- ----- --------.---
  62.  <COMBINED LIST>            <DEMOS LIST>                <GRAPHICS LIST>
  63.   1 00416    ft206.zip       1 00238 mfx_tgr2.zip        1 00044  bondage.zip
  64.   2 00238 mfx_tgr2.zip       2 00190 nooon_st.zip        2 00035   airwar.zip
  65.   3 00236     cp16.zip       3 00188 ftj_ymca.zip        3 00032 spacetit.zip
  66.   4 00190 nooon_st.zip       4 00184  animate.zip        4 00026 dst_frac.zip
  67.   5 00188 ftj_ymca.zip       5 00129 symbolog.zip        5 00026   vamp10.zip
  68.   6 00184  animate.zip      <MUSIC LIST>                <CODE LIST>
  69.   7 00172 scrmt321.zip       1 00426    ft206.zip        1 00152  ggouro2.zip
  70.   8 00161    it105.zip       2 00234     cp16.zip        2 00119  dcc_3de.zip
  71.   9 00161    ft204.zip       3 00172 scrmt321.zip        3 00115 dn116_3d.zip
  72.                              4 00161    it105.zip        4 00097   pmw122.zip
  73.                                                          5 00090      s64.zip
  74.  
  75.  <Files downloaded total : 066259>
  76.  
  77.  
  78. =-[Uploads]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  79.  
  80. =----------------------------------------------------------[File Information]-=
  81.  
  82.  All files listed below are on ftp.cdrom.com under /pub/demos.
  83.  Please keep in mind that all ratings are subjective.
  84.  
  85.  If your file transfers are too slow, there are several alternatives:
  86.  
  87.    Our code mirror is ftp.co.iup.edu/code.  ftpadmin@ftp.co.iup.edu for help.
  88.    Try getting files from the web at http://www.cdrom.com/pub/demos
  89.    See /hornet/demonews/demonews.102 for details about ftpmail.
  90.  
  91.  You may also wish to check out a couple of other good demo sites:
  92.  
  93.    ftp://ftp.arosnet.se/e:\demo maintained by Zodiak / Cascada
  94.    ftp://hagar.arts.kuleuven.ac.be/demos maintained by Sleeping Dog / Natives
  95.  
  96.  Here are also a few good WWW links to try out (under construction):
  97.  
  98.    http://www.th-zwickau.de/~maz/sound.html for music and sound utils
  99.  
  100.  
  101. =-------------------------------------------------------------[Demos:General]-=
  102. Location /demos/alpha             Size Rated Description
  103. =-------------------------------- ---- ----- ---------------------------------=
  104. /1996/d/distant.zip                  5 ****  Distant by Remal
  105. /1996/j/jump_n.zip                 208 *+    Jump by Nova
  106.  
  107. =-------------------------------------------------------------[Music:General]-=
  108. Location /demos/music             Size Rated Description
  109. =-------------------------------- ---- ----- ---------------------------------=
  110. /disks/1996/m/myst0296.zip        1239 ***+  Mystique Music Disk 02/96
  111. /songs/1994/mod/f/fullmoon.zip     163 **    Full Moon Rock by Heatbeat
  112. /songs/1994/mod/i/iridium.zip      247 ***   Iridium by Misty and Daeron
  113. /songs/1994/mod/k/killingf.zip      96 ***+  Killing Floor v2.1 by Chorus+Sid
  114. /songs/1994/mod/m/mypolska.zip     114 ****  Myonnytspolska by Dizzy
  115. /songs/1994/mod/n/netherwd.zip     293 ***+  Netherworld by Probe
  116. /songs/1994/mod/n/nk_acid2.zip     144 ***   Acid Jazz (pt 2) by Nuke
  117. /songs/1994/mod/n/nocorner.zip      67 **+   No Corners by The Master
  118. /songs/1995/mod/d/deci.zip         247 *     Deci by T.U.O
  119. /songs/1995/mod/j/julius.zip       289 ***+  Julius! by Julius
  120. /songs/1995/s3m/g/ghost.zip        116 **    Celes.Mel. by Zaigamor Spellweaver
  121. /songs/1995/s3m/v/vibrphns.zip      77 ***   Vibraphones by Julien Lariviere
  122. /songs/1995/xm/h/h2-brght.zip      238 *     Bright Green World by Trajic
  123. /songs/1995/xm/i/ineed.zip         563 ***   I Need the Actions by Lizardking
  124. /songs/1995/xm/l/lk_indi.zip       715 *     Elvis E. Ind. by LK+Ante Lundgren
  125. /songs/1995/xm/l/lk_infer.zip      417 ***+  Inferno Dance by Lizardking
  126. /songs/1995/xm/l/lk_sat.zip        715 *     Saturday Night by Lizardking
  127. /songs/1995/xm/p/physiogn.zip      293 ***+  Physiognomy by Trajic
  128. /songs/1996/it/j/joint.zip         136 *+    Joint by Galahad
  129. /songs/1996/it/n/no-secon.zip      107 ***   Second Sight by Delta X
  130. /songs/1996/it/v/vs_tefth.zip      232 ***+  The Soul Tefth by Vadim VS
  131. /songs/1996/mod/d/dem-fl.zip        70 ***+  Flatloop by ???
  132. /songs/1996/mod/d/dieindus.zip      76 ***   Die Industry by Frelancer
  133. /songs/1996/mod/d/dream_s1.lha     204 **    Dream Sequence Part 1 by Hypno
  134. /songs/1996/mod/d/dream_s2.lha      95 ***   Dream Sequence Part 2 by Hypno
  135. /songs/1996/mod/d/dream_s3.lha     100 **+   Dream Sequence Part 3 by Hypno
  136. /songs/1996/mod/h/heavenp.zip       51 **    Heaven of Pain by Madokan
  137. /songs/1996/mod/m/mars.zip          97 **    Mars Power by Michiru
  138. /songs/1996/mod/v/venus.zip         96 **+   Venus Power by Michiru
  139. /songs/1996/s3m/g/g_gcntri.zip     131 ***+  Centauri Grey by GentlE
  140. /songs/1996/s3m/g/gals.zip         112 ***+  Gals Spakoz by Zenecade
  141. /songs/1996/s3m/g/gf_alway.zip      97 ***+  Always Dark by Ghost Fellow
  142. /songs/1996/s3m/g/gf_depen.zip     121 ***+  Dependance by Ghost Fellow
  143. /songs/1996/s3m/g/gf_heave.zip     162 ****  Heaven is So Far by Ghost Fellow
  144. /songs/1996/s3m/g/gf_inter.zip      77 ****  Interstice by Ghost Fellow
  145. /songs/1996/s3m/g/gf_lost.zip      150 ***   Lost Soul by Ghost Fellow
  146. /songs/1996/s3m/g/gf_space.zip     117 ***   Space Killer by Ghost Fellow
  147. /songs/1996/s3m/g/gf_techn.zip     137 ***   Tech Not! by Ghost Fellow
  148. /songs/1996/s3m/g/gf_willb.zip      76 ***+  This Will Be by Ghost Fellow
  149. /songs/1996/s3m/i/icefirst.zip     262 +     Think About.. by George Gaspari
  150. /songs/1996/s3m/l/lush.zip         138 ***+  Lush Forests by Zaig. Spellweaver
  151. /songs/1996/s3m/m/m-river.zip      137 **+   River of Sadness by Guizmo
  152. /songs/1996/s3m/m/m-rnr.zip        177 ***   R'n'R by Uterere
  153. /songs/1996/s3m/m/m-spell.zip      197 **+   Gypsy's Spell by Guizmo
  154. /songs/1996/s3m/m/m-war.zip        263 ***   WarCraft by Guizmo
  155. /songs/1996/s3m/m/meta.zip          59 ***   Metamorphica by Zenecade
  156. /songs/1996/s3m/n/no-knife.zip      67 **+   CutThroat by SamH
  157. /songs/1996/s3m/n/no-var-p.zip     217 **+   Variable-P by Syrinx
  158. /songs/1996/s3m/n/no-zjump.zip     292 ***+  Zydeco Jump by Stote
  159. /songs/1996/s3m/p/pr-adjst.zip     221 ***+  Adjustments by Darkwolf
  160. /songs/1996/s3m/p/pr-aware.zip     143 ***   Awareness by Darkwolf
  161. /songs/1996/s3m/v/v-river.zip      116 **+   The River Eternal by Vegas
  162. /songs/1996/xm/e/echnaton.zip      244 *     Echnaton by Scolnick
  163. /songs/1996/xm/g/gl-night.arj      618 ***   Forever Night by Glitch
  164. /songs/1996/xm/h/holyhell.zip      215 *+    Holyhell by ??? 
  165. /songs/1996/xm/h/htime.zip         415 **    House Time by Trauma
  166. /songs/1996/xm/l/ladybug.zip       168 **    Ladybug by Scolnick
  167. /songs/1996/xm/l/leggmatt.zip      529 *+    Leggematter'n by Xerxes
  168. /songs/1996/xm/m/ms_hfl.zip         83 **+   Heart Full of Love by Miss Saigon
  169. /songs/1996/xm/m/myrose.zip        262 ***+  My Rose by Nedeljko Gajic
  170. /songs/1996/xm/n/ng-lcyc.zip       384 **+   Lunar Cycle by Solaris
  171. /songs/1996/xm/n/ng-ondat.zip      178 **+   Ondated by Demuc
  172. /songs/1996/xm/n/ng-rad.zip        326 ***   Radition by Cicada
  173. /songs/1996/xm/n/no-feuil.zip      350 ****  Feuilles Mortes by Spyder
  174. /songs/1996/xm/v/vs_feb9.zip       326 **+   February 9th by Vadim VS
  175.  
  176. =----------------------------------------------------------[Graphics:General]-=
  177. Location /demos/graphics          Size Rated Description
  178. =-------------------------------- ---- ----- ---------------------------------=
  179. /images/1996/l/lt-appol.zip        170 ***   Dance with the Planets by Light
  180.  
  181. =-----------------------------------------------------[Graphics:Non-Reviewed]-=
  182. Location /demos/graphics          Size Description
  183. =-------------------------------- ---- ---------------------------------------=
  184. /programs/players/cybrshow.zip    1417 Fractal Arts by Cyberlight Matrix
  185.  
  186. =----------------------------------------------------------------------[Code]-=
  187. Location /demos/code              Size Rated Lang Description
  188. =-------------------------------- ---- ----- ---- ----------------------------=
  189. /demosrc/micsrc41.zip              185 **+   A--- BBS intro w/environ. mapping
  190. /graph/3d/vga-vul3.zip              14 **+   A--P How to do simple 3D
  191. /graph/3d/vga-vul4.zip               9 ***   A--- Simple 3D in ASM
  192. /graph/examples/bp-hires.zip        14 **    A--- 640x480x16 by Ash/Bunghole
  193. /graph/fade/vga-vul2.zip            20 ***   A--- ASM source on palette fading
  194. /graph/gouraud/gvector2.zip         73 ***   --C- Gouraud vectors by Tumblin'
  195. /graph/stars/vga-vul5.zip           10 ***   A--P How to do a simple starfield
  196. /libs/adip.zip                     708 **    ABCP SB Awe 32 developers pack
  197. /libs/asm_good.zip                 118 ***+  A--- Lots of misc. ASM code
  198. /pmode/pmw122.zip                  127 ****+ --C- Pmode/W v. 1.22 by DD/Ren.
  199. /sound/cpmik02.zip                  18 **    A--- S3M/GUS player
  200. /sound/fmoddoc2.zip                390 ***** --C- Great MOD/S3M/player info!
  201. /sound/mxmp12.zip                   92 ****  A-C- Tiny .XM/GUS player by Cubic
  202. /text/ffmts002.zip                 102 ***+  ---- Music file formats info.
  203. /text/vga-info.zip                 139 ***+  ---- Graphical pragmatics via VGA
  204. /tutorial/basicdoc.zip               4 ***   ---- Beginner's guide to VGA
  205. /tutorial/dn114_3d.zip              14 ****+ --CP Intro to 3D by Kiwidog
  206. /tutorial/fh-3dtut.zip              12 ***+  A--P 3D vector tutorial
  207. /tutorial/kmagv2.zip                54 **+   A--P King's programming mag. #2
  208. /tutorial/kmagv3.zip                63 ***   A-CP King's programming mag. #3
  209. /tutorial/tweakdoc.zip               5 ***+  ---- Beginner's guide to Mode X
  210. /utils/alabv12.zip                 185 ****+ A--- ASM IDE, w/syntax highlight.
  211. /utils/pp104swv.zip                 44 **    ---P Protect .exes from hacking
  212.  
  213.  
  214. =-[Articles]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  215.  
  216. =---------------------------------------------------[Introduction]--[Snowman]-=
  217.  
  218.  Hello all, and welcome to DemoNews issue 118.
  219.  
  220.  First off, I'd like you all to note that we've passed 2000 subscribers this
  221.  week!  I consider that a milestone.  When I started helping with DemoNews
  222.  that number was under 300.  My personal thanks goes to all those who have
  223.  helped contribute over the past several years, as well as those who have
  224.  supported and subscribed to this online publication.  I used to ask the
  225.  question "When will we finally saturate the scene?"  I now believe that we
  226.  won't.  Not only are huge segments of the demo scene finally getting
  227.  online, but countless individuals are now just discovering it.
  228.  
  229.  After reading almost all of "The Road Ahead" by Bill Gates, I am inspired.
  230.  Our little listserver error two weeks ago is only the first of many
  231.  creative and new ideas.
  232.  
  233.  For the past couple of weeks, our site has been getting a lot of action.
  234.  The /pub/demos tree is seeing 3.5Gb a transferred a day on average (that's
  235.  about 100Gb a month)!  Believe it or not, this isn't even 1/3rd what the
  236.  /pub/games archive is getting.  Now, I like games just as much as the next
  237.  guy.  However, games aren't really my first love.  I encourage you all to
  238.  use our demo archive and download as much as possible, as often as
  239.  possible, at weird hours of the day, while eating, while in the shower,
  240.  while sleeping, while doing your homework...  :)  Let's see if we can hit a
  241.  5Gb day!
  242.  
  243.  Don't forget to submit articles to Darkness / Imphobia for the upcoming
  244.  diskmag.
  245.  
  246.  Snowman / Hornet - r3cgm@cdrom.com
  247.  
  248.  
  249. =----------------------------------[Quotes Heard in the Demoscene]--[Trixter]-=
  250.  
  251.  [This list was compiled by Trixter]
  252.  
  253.  _____General Quotes
  254.  
  255.  "Good code isn't good design, and good design doesn't need good code."
  256.    Charlatan
  257.  
  258.  "Jezus Christ, are we still having this conversation?"
  259.    Luc Lodder, on the Amiga vs. PC debate.
  260.  
  261.  "When the finish Head General sees the Russian army coming he just boots up
  262.  his PC and loads Second Reality.  Then when all the ruskies are staring in
  263.  disbelief, a plane drops a bomb on them."
  264.    Tony, on how the Finnish demoscene could help in the Finnish army
  265.  
  266.  "The number of channels available with a PC trackers has led to a
  267.  generation of lazy mod composers. Instead of using a trick, let's use
  268.  another track!"
  269.    Moby / Nooon
  270.  
  271.  "Hello, people!!  Monitor manuals have H-Sync V-Sync tolerance listings for
  272.  a _REASON_!!"
  273.    Lance Kalzus, on reports that Xtal by Complex was blowing up monitors
  274.  
  275.  "Moral:  Never underestimate democoders..."
  276.    PsychoMan, on people who think democoding is a limited art
  277.  
  278.  "Personally, I'd be surprised to see someone release something on CD that
  279.  was made up of huge, total, game.  Come to think of it, you could create
  280.  RPGs that take an average of 1.4yrs to complete, if you just stretched your
  281.  mind and put a GAME on the CD instead of an 'interactive movie'."
  282.    Mr. P, on the future of gaming
  283.  
  284.  "The trick is to forget about writing something good and pull cheese out of
  285.  your butt."
  286.    Necros, on how to win the '20-Minutes' compo
  287.  
  288.  "A DOT!!!! A FUCKING DOT!!!! YEAH!!!!!!!"
  289.    Chris Chapin, on getting his first graphic element working
  290.  
  291.  "I have to figure out what 'music good moose american!' means."
  292.    Leviathan, on translating some of the european fan mail he gets
  293.  
  294.  "The life of the coder is that of the hermit, except the hermit can't make
  295.  shadebobs."
  296.    Leviathan, on coding
  297.  
  298.  "You're just trying to find texture coordinates, not to be mathematically
  299.  correct."
  300.    Midnight, on how accurate you should be while coding environment mapping
  301.  
  302.  "People often forget God's contribution to the demo scene. He coded some
  303.  brilliant effects, all real-time as well."
  304.    Lew
  305.  
  306.  "As we all know, the audience voted for best productions at Juhla Pi.  And,
  307.  as always - audience was stupid."
  308.    Jmagic, on why the world's first real-time raytracing demo didn't win 1st
  309.    place at Juhla Pi
  310.  
  311.  _____On Having Sex
  312.  
  313.  "Coders do it with a routine."
  314.    Otto Chrons
  315.  
  316.  "Coders do it with bugs."
  317.    Trixter
  318.  
  319.  "Trackers do it with rhythm."
  320.    Floss
  321.  
  322.  "Trackers like to slide up & down."
  323.    Charlatan
  324.  
  325.  _____You Know You've Been Democoding Too Long When...
  326.  
  327.  "...You think 'hey, the phong shading on this toilet seat is really cool'
  328.  and move it up and down a few times just to watch the highlights..."
  329.    Sam
  330.  
  331.  "...You're in a train looking out of the window, and you notice the
  332.  high-quality multi-layer parallax scrolling."
  333.    Sam
  334.  
  335.  "...You spend an hour in the tub trying to figure out displacement."
  336.    Leong
  337.  
  338.  "...You walk along a wall and are impressed that it's not pixelated,
  339.  even at close range."
  340.    Dag-Erling Smrgrav
  341.  
  342.  "...You notice how the faucets in bathrooms are envirovment mapped
  343.  with a nice metal-looking texture..."
  344.    Jyrki Saarinen
  345.  
  346.  "...You move objects around to make sure the clipping and culling
  347.  routines are working."
  348.    Quantum Porcupine
  349.  
  350.  "...You spill or mess up something and the first reaction that come
  351.  to mind is 'undo'."
  352.    Stephan
  353.  
  354.  "...You watch the "Mortal Kombat" movie, and during the part where
  355.  Liu Kang does a flip off a wall, you absent-mindedly say, 'I wonder
  356.  if that was calculated real-time.'"
  357.    Dominion Arcana
  358.  
  359.  Trixter / Hornet - trixter@ftp.cdrom.com
  360.  
  361.  
  362. =--------------------------[10 Ways NAID '95 Will Differ from NAID '96]--[GD]-=
  363.  
  364.  _____Introduction
  365.  
  366.  Are you considering going to NAID this year? Not sure if you want to go or
  367.  not?  Heard some things that made you suspicious?
  368.  
  369.  Many people seem unsure whether or not they want to make the sacrifice of
  370.  time and money to attend. With pressures of school and final exams, some
  371.  potential attendees are unsure if they will make it to NAID 1996.
  372.  
  373.  Following is a list of ten ways that NAID 1996 will differ from NAID 1995.
  374.  Hopefully, you will see that this is to be a party you won't want to miss.
  375.  
  376.  _____Reason 01: From Spotlights to Lasers
  377.  
  378.  The NAID organizers have been discussing the possibility of a laser light
  379.  show this year. Remember those "dance floor" style spotlights they used last
  380.  year? Well, those would be replaced by laser technology.
  381.  
  382.  This will improve the visual effects greatly. By adding laser lights to the
  383.  setup, it will create an incredible effect for those who want to feel as if
  384.  they're at a real rave. Even better, anyone needing laser surgery can just
  385.  position themselves appropriately between laser beams and save thousands of
  386.  dollars in medical fees.
  387.  
  388.  _____Reason 02: Parlez-vous francais?
  389.  
  390.  The language barrier was one difficult aspect for some Americans traveling
  391.  to Montreal. As those who live in Montreal speak french as their primary
  392.  language, verbal communication was a problem.
  393.  
  394.  With a year and two months between NAID 1995 and NAID 1996, hopefully some
  395.  people have tried to work on the issue of the language barrier. However, I
  396.  suggest a French-English dictionary, as some of your good friends who know
  397.  french are most likely going to only teach you french phrases that
  398.  translate into something like "You look like my mother, you stupid
  399.  pancake!" or "Will you go to bed with me, you revolting jackass?"
  400.  
  401.  _____Reason 03: Price Difference
  402.  
  403.  People have been talking about the difference in ticket prices this year. The
  404.  admission fee is CA$20, as compared to last year which cost CA$7.
  405.  
  406.  The organizers have decided to combat complaints about the sudden price
  407.  increase with some special deals:
  408.  
  409.  Three-Arm Discount (TAD) : All persons with three arms shall receive 50% off
  410.                             the admission fees.
  411.  
  412.  Two-Foot Discount (TFD)  : Anyone who stands less than two feet tall will
  413.                             only need to pay CA$2 for admission.
  414.  
  415.  Green-Hair Discount (GHD): Anyone entering with green hair will be admitted
  416.                             for CA$5. Persons taking advantage of the GHD must
  417.                             pose as plants any time someone's parents walk by.
  418.  
  419.  _____Reason 04: The wrath of PeriSoft
  420.  
  421.  Ever since last year, PeriSoft has been plotting his revenge against the
  422.  "evil forces of Hornet" for the comment about him in the Hornet NAID report.
  423.  This year, witness it live as the drama unfolds.
  424.  
  425.  Supposedly, one of PeriSoft's revenge tactics will be to bring an Alannis
  426.  Morrisette CD and secretly place speakers in the Hornet room through which
  427.  this CD will be played constantly. The results of such an experiment could
  428.  have drastic effects, so watch and see what happens.
  429.  
  430.  _____Reason 05: Necros
  431.  
  432.  Dungeon Dwellers Design is a USA-based demo group that was in attendance at
  433.  NAID 1995. They also entered a demo into the competition. They took many
  434.  pictures at NAID and released a party report.
  435.  
  436.  Unfortunately, DDD made several errors in their NAID report, which confused
  437.  some people as to who won which compo with which entry.
  438.  
  439.  This year, Necros may fall victim to a large amount of lamers asking him if
  440.  he is going to write another song like his hit, "Can't Take the Bus."
  441.  
  442.  _____Reason 06: The Snowman Speech
  443.  
  444.  Before the closing ceremony last year, Snowman presented a very memorable
  445.  speech to the soon-to-be-departing crowd. As many people complimented his
  446.  efforts, he will again be making a speech this year.
  447.  
  448.  However, this year's speech proves to be more than a monologue, as Snowman
  449.  recently released his cast list:
  450.  
  451.    Ara (formerly Epeius) ............... Human "beat box"
  452.    The Zapper .......................... Bass Guitar
  453.    Maelcum ............................. "Move it Move it" voice
  454.    Miss Saigon ......................... "Whoo! Yeah!" voice
  455.  
  456.  _____Reason 07: Drugs and Alcohol
  457.  
  458.  Drugs and Alcohol are prohibited in the school at which NAID 1996 will be
  459.  held. Because of this, the organizers are making special arrangements to
  460.  inspect the belongings of those suspected to have any illegal possessions.
  461.  
  462.  They are arranging a "we get half, you get half" deal with anyone who
  463.  wishes to consume said possessions at the party place. Be sure to stock up
  464.  and bring twice your normal supply.
  465.  
  466.  _____Reason 08: 1-900-NAID-FUN
  467.  
  468.  The organizers have been so overwhelmed with telephone calls that they have
  469.  set up this 1-900 answering service. Callers will be able to get their
  470.  questions answered and even get a chance to win some great prizes! The
  471.  prize list follows:
  472.  
  473.    Free NAID tickets will be given out to every 1000th caller
  474.  
  475.    If you are able to "Name this Hadji S3M" you can win one of these
  476.    fabulous prizes:
  477.      - Year old subs (leftover food from Subway, who served food at NAID
  478.                       1995 and forgot to clean up)
  479.      - Year old tshirts (they were left outside during a rainstorm, and
  480.                          put through a very powerful dryer. All shirts are
  481.                          now exactly 7 sizes smaller than stated on the
  482.                          label)
  483.  
  484.  Each call costs $1.00 a minute. If you're under 18, be sure to get
  485.  permission from your parent or legal guardian before calling.
  486.  
  487.  _____Reason 09: The "Deep-Six Demo Compo"
  488.  
  489.  Is your computer waterproof?  Ever thought of putting it inside a sealed
  490.  plastic bag and submerging it in water?
  491.  
  492.  Since the pool was not used much last year, the organizers have introduced
  493.  this competition, which states that "Computers will be submerged into the
  494.  pool after starting a popular European demo. The owner of last computer to
  495.  remain running underwater is the winner.
  496.  
  497.  The organizers are seeking judges for this competition. To be eligible, you
  498.  need to be able to hold your breath for 10 minutes, have a certified
  499.  lifeguard license, and sign a release form stating that the organizers are
  500.  "not responsible for drowning, choking, or excess water intake."
  501.  
  502.  _____Reason 10: Electricity
  503.  
  504.  Last year the organizers were very fortunate to not experience any amount
  505.  of interruption in the power supply. There were no power failures and no
  506.  equipment was damaged by a spike or surge.
  507.  
  508.  This year, you won't want to miss out on your chance to fry the power
  509.  system! Be the lamer responsible for a blackout during the demo
  510.  competition!  Get hundreds of angry partygoers chasing after you!
  511.  
  512.  To enter in this competition, all you need is an electrical device which,
  513.  when plugged in, will overload the circuit breaker and cause a power
  514.  outage.  Winners will receive a first-class shunning.
  515.  
  516.  _____Conclusion
  517.  
  518.  This guide is your road map to fun at NAID 1996! Be sure to attend this
  519.  event because it only happens once a year.
  520.  
  521.  Enjoy the show, meet new friends, and learn how to swear at your parents in
  522.  a different language!  What more could you ask for?
  523.  
  524.  GD / Hornet - gd@ftp.cdrom.com
  525.  
  526.  
  527. =-----------------------------------------[Funktracker Port to Linux]--[JsNO]-=
  528.  
  529.  I've began work on porting Funktracker from the DOS32 protected mode
  530.  platform over to X11/Xview, first for Linux, then other Unix's. As this is
  531.  mainly an exercise to learn X-windows programming, I will be taking it
  532.  easy. It may be a while before there is a releasable version.
  533.  
  534.  NOW would be a good time to tell me anything that you want in there. I've
  535.  had wades of email about requested extras and changes that people wanted in
  536.  1.08b, but couldn't, due to the fact the requests were never considered in
  537.  the initial contingency of FunkTracker. So, if you tell me now in the
  538.  designing stage, it will be far easier for me to put in.
  539.  
  540.  I'm going to attempt to give it the look and feel of the original
  541.  FunkTracker (in an Xwindows sort of way), so, if you don't like the
  542.  original Funky style interface, tell me now, and i'll alter it on weighted
  543.  opinion.
  544.  
  545.  See ya.
  546.  
  547.  JsNO / Super Real Darwin - root@superr.topend.com.au
  548.  
  549.  
  550. =------------------------------[Intro to 3D Graphics - Volume 03]--[Kiwidog]-=
  551.  
  552.  _____Introduction
  553.  
  554.  Howdy everyone!
  555.  
  556.  Time for round three... :-)
  557.  
  558.  This is the last introductory article before we dive into polygon fillers,
  559.  and it's something that's crucial to any effective 3D system.  You may be
  560.  asking yourself, "Hey, I can do projection and rotation now, isn't that all
  561.  I need to start making solid objects?"  Well, not quite.
  562.  
  563.  Let's say you want to make a cube.  You know how to project the cube's
  564.  vertices, so that's fine.  You can rotate the vertices too, so that's not a
  565.  problem either.  And let's say you know how to do polygon filling too...
  566.  well what happens when you start rotating the cube around?
  567.  
  568.  A big mess. :)  Sides in the back show up half the time, so the cube
  569.  doesn't look solid at all.  And then you decide you want to add
  570.  lightsourcing... uhh.... wait... lightsourcing?  How do I do that again?
  571.  
  572.  Yup, something's definitely missing. :-)
  573.  
  574.  It turns out that backface removal, lightsourcing, and a whole mess of
  575.  other 3D-related issues often stem down to one small, yet very important
  576.  math concept...
  577.  
  578.  The normal.
  579.  
  580.  _____What the Heck's a "Normal"?
  581.  
  582.  The normal is just the name of the vector that's perpendicular to a plane.
  583.  It's as simple as that (actually, I should be using the word "orthogonal",
  584.  since that's the real name for perpendicular in 3D, but you get the idea).
  585.  That's all it is.  Every 3D plane in space has a normal; it's just the line
  586.  that sticks straight out of that plane.
  587.  
  588.  So what's so useful about normals?  Well, if we have a 3D surface (like a
  589.  polygon face), the normal tells us where the polygon is facing... it's the
  590.  line that the polygon is "looking at", and that has a LOT of uses.
  591.  
  592.  For one, backface removal.  You only want to see a polygon face (like on a
  593.  cube) when the surface is facing toward you.  If it's facing away from you,
  594.  you shouldn't see it (unless you want paper-thin objects).  So the normal
  595.  is very useful here.
  596.  
  597.  And lightsourcing is entirely about normals.  If you take the angle between
  598.  the normal of a surface and the vector of surface to the lightsource, you
  599.  can find out how much it's facing that lightsource and can use that for
  600.  brightness.  We'll be using this fact a lot with Lambert, Gouraud, and
  601.  Phong shading, as well as Environment Mapping.
  602.  
  603.  There are also other nice thing normals are used for, like calculating BSP
  604.  trees and such.  The list goes on and on....
  605.  
  606.  But I'm probably overwhelming you with all this.  Let's take it one step at
  607.  a time, and all the rest of the pieces will face into place later. Don't
  608.  worry if you're confused for the moment... it'll click soon enough. :)
  609.  
  610.  _____Finding the Normal of a Plane
  611.  
  612.  You've already dealt with a few normals - the axes.  The Z axis sticks
  613.  straight out of the XY plane, which means (tada!) that the Z axis is the
  614.  normal of the XY plane.  Likewise, the X axis is the normal of the YZ
  615.  plane, and the Y axis is the normal of the ZX plane.
  616.  
  617.  But what about arbitrary surfaces?  Most of the time, with our 3D objects,
  618.  we won't know where they're facing.  They won't be on the axes most of the
  619.  time, that much is for certain.  So what do we do to find these special
  620.  vectors?
  621.  
  622.  _____The Dot and Cross Products
  623.  
  624.  There are two very useful operations in linear algebra called the Dot
  625.  Product, and the Cross Product.  They're not really hard at all; the
  626.  equations are pretty simple.  But they come in very handy, as you'll soon
  627.  see.  Like the Trig identities, these are two of the most important things
  628.  you'll ever use in 3D.
  629.  
  630.  The Dot Product is just a value (or "scalar", in linear algebra terms).
  631.  It's a function of two vectors, and usually denoted with a "." character.
  632.  If we have two vectors A and B,
  633.  
  634.    A.B = (Ax * Bx) + (Ay * By) + (Az * Bz)
  635.  
  636.  That's it.  Just multiply the XYZ parts together of each vector, add them
  637.  up, and the resulting number is your dot product.  What's it for?  We'll
  638.  see soon enough...
  639.  
  640.  Now the Cross Product is a little more complicated of an equation.  Like
  641.  the Dot Product, it's a function of two vectors.  But unlike the Dot
  642.  Product, the result is not a scalar value.... it's another vector.  If we
  643.  have our A and B vectors, and C is the cross product (denoted A x B),
  644.  
  645.    C = A x B
  646.  
  647.    Cx = (Ay * Bz) - (By * Az)
  648.    Cy = (Az * Bx) - (Bz * Ax)
  649.    Cz = (Ax * By) - (Bx * Ay)
  650.  
  651.  That's how we get each of the XYZ components of the cross product vector.
  652.  Well what's C after we do this?  A very nice thing... it's the vector
  653.  that's ORTHOGONAL to A and B.
  654.  
  655.  Yup, the Cross Product is our normal! :-)
  656.  
  657.  Sure enough, if you check these equations against some normals we know,
  658.  like the axes mentioned above, it turns out that
  659.  
  660.    (1,0,0) x (0,1,0) = (0,0,1)     Z axis is orthogonal to the X and Y axes.
  661.    (0,1,0) x (0,0,1) = (1,0,0)     X axis is orthogonal to the Y and Z axes.
  662.    (0,0,1) x (1,0,0) = (0,1,0)     Take a wild guess. :-)
  663.  
  664.  Now, we can't necessarily use this directly with our polygons.  I mean,
  665.  with our polys all we have is a set of vertices (each 3 for a triangle, 4
  666.  for a quadrilateral, whatever).  We don't have two vectors.  So we need to
  667.  find two vectors in our poly that we can shove into this cross product
  668.  equation, and find our normal.
  669.  
  670.  How to do that?  Not too hard, really.  We can form two vectors from any
  671.  three points in a poly.  Say we have a quadrilateral polygon.....
  672.  
  673.    P2
  674.      .         P1
  675.              .
  676.  
  677.  
  678.  
  679.          .
  680.       P3      . P4
  681.  
  682.  Okay, all we need to do is get two tail-to-tail vectors from the poly.
  683.  Solution?  Simple, just pick a point, and use the vectors to the two points
  684.  "connected" to it along the edges...
  685.  
  686.    P2
  687.      .___ A    P1
  688.          ----.
  689.       \
  690.        \ B
  691.         \
  692.          .
  693.       P3      . P4
  694.  
  695.  Be warned, though.... the cross product function is NOT commutative. That
  696.  is, A x B is NOT the same as B x A.  As a matter of fact, B x A is the
  697.  exact OPPOSITE vector of A x B.... it's the same line, just pointing in the
  698.  other direction! :)
  699.  
  700.  How to know which one to use as A and which as B?  It depends on what kind
  701.  of objects you're using.  If you're importing from a modeler of sorts, most
  702.  modelers either order the vertices a certain way or have some kind of field
  703.  telling you which way the normal is.  Then you'll know which vector is
  704.  supposed to be first, so your normal is in the right direction.
  705.  
  706.  Otherwise, if you're making your objects manually, you'll have to be a
  707.  little more innovative.  Many people like to create their faces so the
  708.  vertices go in either a consistent clockwise or counter-clockwise order.
  709.  Then you start at a consistent point in the polygon (like the first
  710.  vertex), and you know which point goes with which vector.
  711.  
  712.  It's really a matter of taste, but whatever you do, you should be
  713.  consistent. Manually correcting normals that go wrong is a real pain in the
  714.  rear, so getting the system down right the first time will help you a lot
  715.  in the long run.
  716.  
  717.  (BTW... in the above ASCII picture, the order that A and B are in will
  718.  result in a normal that goes up, towards where the "P1" label is).
  719.  
  720.  Now to get nice, accurate normals, we don't want the poly's location in
  721.  space to have any effect on it... true "vectors" aren't points, they're
  722.  rays going from the origin to a point.  Well, P1 probably isn't going to be
  723.  at (0,0,0).  So for the cross product we need to calculate the vertices as
  724.  if it were.  This is just done by translating the points, subtracting P1
  725.  from both the P2 (for vector A) and from P4 (for vector B)...
  726.  
  727.    A = (P2 - P1)
  728.    B = (P4 - P1)
  729.  
  730.  Bam, now we just shove A and B into the cross product formula, and out
  731.  comes our normal.  Almost.
  732.  
  733.  (Don't you just LOVE these "almosts" and "not quites"? :-)
  734.  
  735.  _____Size Matters
  736.  
  737.  Only one more thing we have to do to the normal to get it exactly the way
  738.  we want it.  We need to scale it down (or up), so that the vector has an
  739.  exact length of 1.  Why 1?  Because having normals of length 1 is a really
  740.  nice thing as far as calculation is concerned.  It's mainly for the "angle
  741.  between" equation we need for lightsourcing.  I'll get to all that in a
  742.  little bit, but for now, just trust me.... we want it one unit in length.
  743.  :)
  744.  
  745.  Doing that isn't really difficult... we just use the distance formula. From
  746.  algebra you probably remember that in 2D, the distance between any two
  747.  points is
  748.  
  749.    length = sqrt( (x2-x1)^2 + (y2-y1)^2 )
  750.  
  751.  That gives us the distance, or length, of that line segment.  The same
  752.  thing applies in 3D, by adding the Z component...
  753.  
  754.    length = sqrt( (x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2 )
  755.  
  756.  Well a vector has just one point... the other point is at the origin, so if
  757.  we want to find the length of our normal, we just set point 1 to (0,0,0),
  758.  and
  759.  
  760.    length = sqrt( x^2 + y^2 + z^2 )
  761.  
  762.  Odds are, when you pump in your normal's values you got from the cross
  763.  product, the length is NOT going to be equal to 1.  It could be 0.2, it
  764.  could be 10.583, it could be three-thousand-something.  Anything.  Well
  765.  since all we care about is direction, not length, we can divide every XYZ
  766.  component in the normal by its length, and the new length will become 1.
  767.  
  768.  As an example, say our normal was (3,5,2).  The length would be
  769.  
  770.    length = sqrt( 3^2 + 5^2 + 2^2 ) = (9+25+4) = 38
  771.  
  772.  So if we divide each component by 38, our final, scaled normal would be
  773.  
  774.    (3/38, 5/38, 2/38)
  775.  
  776.  Now as you can see, if all our normals are going to be length 1, then we
  777.  need to use decimal places.... no component is ever going to be above 1 in
  778.  size.  But using floating point is incredibly slow, and pure integers don't
  779.  allow for decimal places.  The solution?  Fixed point.
  780.  
  781.  _____A Sidetrack on Fixed Point
  782.  
  783.  Fixed point is an easy way to represent non-integer numbers with only
  784.  integers in the processor.  It's done by taking a certain number of bits in
  785.  a register, and dedicating them to decimal places instead of integer
  786.  values.  Like if we have a 16-bit word, we can do 8.8 fixed point by using
  787.  the upper 8 bits as the "whole" portion of the number, and the lower 8 bits
  788.  as the "fractional" portion.
  789.  
  790.  Examples of 8.8 fixed point....
  791.  
  792.    1.0   =  0100h
  793.    1.5   =  0180h
  794.    0.25  =  0040h
  795.    3.75  =  03C0h
  796.    5.125 =  0520h
  797.  
  798.  ...and so on.  All we're doing is using the high byte as the whole, and the
  799.  low byte as the precision.  How precise?  Well since we have 8 bits in the
  800.  fraction, it means we can go down to 1/256 for a fractional value. The more
  801.  the fractional bits you use, the more accurate your decimal places can
  802.  be... but the fewer number of whole-number bits you have left (so your
  803.  value can't go up as high).
  804.  
  805.  Sure enough, you're not limited to equal splits.  With 16 bits you can do
  806.  things like 15.1 fixed point (which only goes down to 0.5 for decimal units
  807.  but allows numbers up to 32767), or you can do 1.15, which can only have a
  808.  whole number of 0 or 1, but goes down to 1/32768 of decimal accuracy. You
  809.  choose what works well for your system.
  810.  
  811.  (Incidentally, since I code 32-bit mostly these days, I use 16.16 fixed
  812.  point for pretty much everything 3D-wise.  It's accurate enough in decimal
  813.  places, yet has wholes up to 64k which is a nice range).
  814.  
  815.  To sum up, fixed point is just treating integers as fractional numbers by
  816.  working with the numbers a few powers of 2 above what the number actually
  817.  means.  In 8.8, 0100h (256) means 1, 512 means 2, 768 means 3, etc...
  818.  you're just scaling the operations up a bit so you can stick with integer
  819.  operations.
  820.  
  821.  Adding and subtracting fixed point is just like regular integer add and
  822.  sub. You don't have to do anything special...
  823.  
  824.    1.5  + 1.5  = 3.0     0180h + 0180h = 0300h
  825.    2.75 - 2.25 = 0.5     02C0h - 0240h = 0080h
  826.  
  827.  ...and so on.  On the other hand, multiplication and division have to be
  828.  adjusted by the number of places in your precision, since the resulting
  829.  number would be too high for multiply, and too low for divide....
  830.  
  831.    1.5  * 3.0  = 4.5     0180h * 0300h = 048000h
  832.                          NOPE!  We have to divide by 100h (8 bits precision).
  833.                          0180h * 0300h = 048000h / 100h = 0480h   (correct)
  834.  
  835.  Likewise, division needs to get multiplied by your precision.  This must be
  836.  done BEFORE you divide, or you'll end up losing all your decimal places.
  837.  
  838.    7.5  / 2.5  = 3.0     0780h / 0280h = 0003h
  839.                          WRONG! We need to multiply....
  840.                          0780h * 0100h = 078000h / 0280h = 0300h  (correct)
  841.  
  842.  Note that this means for multiply and divide that you'll need more space
  843.  than just what's in your fixed point registers.  Luckily multiply and
  844.  divide on the Intel processors multiply into and from EDX:EAX, so you've
  845.  got extra space already even if you're using assembly language.  And the
  846.  adjustment mul/divs are all powers of two, so you can use bit shifts
  847.  instead (if you are using 386 regs, make sure you look up the SHLD and SHRD
  848.  instructions... they come in real useful for this...)
  849.  
  850.  Okay, enough of that sidetrack.  That's the basics of fixed point.  It's an
  851.  excellent alternative to floating point, and it's the only way to get
  852.  really good speed with 3D on an integer unit, since you can't use fast
  853.  normals that aren't 1 unit in length.
  854.  
  855.  That's all you need to know about finding normals! :-)  Here's the quick
  856.  summary.  To get a normal from any polygon (with any number of vertices)
  857.  
  858.  1. Choose three vertices from the poly that are connected by two edges. The
  859.     middle vertex is the base of both your vectors, so translate all three
  860.     points so that this base point is at the origin.
  861.  
  862.  2. The two vectors are the two other points after translation.  Choose your
  863.     first and second vector in the right order so that the normal goes in
  864.     the direction you want it, "in" or "out", so to speak.  If your vertex
  865.     ordering is consistent or you're importing from a modeler, this
  866.     shouldn't be a big problem.
  867.  
  868.  3. Take the cross product of the two vectors, in the right order.
  869.  
  870.  4. Scale the cross product down so its length is equal to 1.  This is your
  871.     final normal for the poly (yay!) :)
  872.  
  873.  _____You Want Me To Do All That REALTIME?!?
  874.  
  875.  Heck no! :)  Calculating normals for every surface every frame would be
  876.  incredibly slow.  Major MAJOR waste of time.  But you don't have to worry
  877.  about that, because you can precalculate your normals for the original
  878.  object, and guess what?
  879.  
  880.  If you rotate the normals by the same angles that you rotate the object,
  881.  the normals will still be correct! :-)
  882.  
  883.  So just generate your normals when you load up your object, or store them
  884.  in the object file itself (if you have your own file format, this can be an
  885.  easier option).  As you rotate your object by rotating all the vertices,
  886.  just treat the normals like regular vertices.  So when rotating a cube, for
  887.  example, you won't be rotating 8 points... you'll be rotating 14 points,
  888.  i.e. the 8 vertices and the 6 normals.
  889.  
  890.  _____In Our Next Episode
  891.  
  892.  There are certainly other ways to deal with normals besides straight
  893.  rotation and such, and I'll show you these methods as time goes on. We'll
  894.  also be using these normals (and the thus-far-useless Dot Product) next
  895.  time, when we start our polygon filling escapade! :)  The next article will
  896.  cover how to fill polygons with a flat color, and also how to lightsource
  897.  that color using our normals, so don't throw this article away just yet...
  898.  this info will become very useful very quickly.
  899.  
  900.  In the meantime, the supplement will have example source that shows how to
  901.  use normals for simple backface removal.  I'll put a lot of comments in
  902.  there so you can see what the normals are doing to make it possible.
  903.  It's quite easy...
  904.  
  905.  Anyway, take a look at that source (in Pascal and C, once again... BTW some
  906.  people have asked me if I'll be doing more ASM source later on, and the
  907.  answer is yes, I will be)... and play around with some of this stuff on
  908.  your own! :)  I realize there's not much to gain from this article by
  909.  itself, but it'll give you time to get a very critical portion of your 3D
  910.  system going.  Even if it's still wireframe, it's a big step.
  911.  
  912.  _____BTW
  913.  
  914.  The supplement files are being renamed from DNxxx_3D.ZIP to DN3D_x.ZIP.
  915.  This is because it seems I'm not going to make it for every single DemoNews
  916.  issue, so it's probably less confusing if I name them by volume number than
  917.  by DemoNews issue number.  As such, this article's supplement will be at
  918.  
  919.    ftp.cdrom.com/pub/demos/incoming/code/DN3D_3.ZIP
  920.  
  921.  DN114_3D.ZIP and DN116_3D.ZIP will be renamed to DN3D_1.ZIP and DN3D_2.ZIP
  922.  within the next couple weeks, so don't be surprised if you don't find them
  923.  under their old filenames after a while.  All new supplements will be in
  924.  
  925.    /pub/demos/incoming/code/
  926.  
  927.  and the previous ones will be under
  928.  
  929.    /pub/demos/code/tutorial/
  930.  
  931.  so look there if you don't find them in incoming.
  932.  
  933.  Also, give me a couple days after this DemoNews's release to upload the
  934.  supplement file.  I tend to write these articles a little close to the
  935.  wire, so I don't have time to get the supplement up immediately.  If you
  936.  don't find it in /pub/demos/incoming/code, give it a day or two before
  937.  emailing me saying you can't find it.... it's probably just me being lazy.
  938.  :-)
  939.  
  940.  Until next time...
  941.  
  942.  Kiwidog / Hornet , Terraformer - kiwidog@vt.edu
  943.  
  944.  
  945. =-[Subscribing]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  946.  
  947.  _____How to subscribe to DemoNews
  948.  
  949.  Mail to : listserver@unseen.aztec.co.za
  950.  Body    : subscribe demuan-list [first_name] [last_name]
  951.  
  952.  The listserver will send DemoNews to your e-mail's return address.
  953.  
  954.  _____Back Issues
  955.  
  956.  Older issues of DemoNews can be located under /demos/hornet/demonews.
  957.  Newly released issues of DemoNews are posted to /demos/incoming/news.
  958.  
  959.  
  960. =-[Closing]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  961.  
  962.  For questions and comments, you can contact us at r3cgm@cdrom.com
  963.  Your mail will be forwarded to the appropriate individual.
  964.  
  965.  
  966. ..........................................................End.of.DemoNews.118.
  967.  
  968.  
  969.